﻿using System;

class Clock
{
    // 事件：嘀嗒
    public event EventHandler Tick;

    // 事件：响铃
    public event EventHandler Alarm;

    // 模拟闹钟运行
    public void Run()
    {
        // 模拟嘀嗒事件
        for (int i = 0; i < 10; i++)
        {
            OnTick();
            System.Threading.Thread.Sleep(1000); // 暂停 1 秒
        }

        // 模拟响铃事件
        OnAlarm();
    }

    // 触发嘀嗒事件
    protected virtual void OnTick()
    {
        Tick?.Invoke(this, EventArgs.Empty);
    }

    // 触发响铃事件
    protected virtual void OnAlarm()
    {
        Alarm?.Invoke(this, EventArgs.Empty);
    }
}

class Program
{
    static void Main()
    {
        var clock = new Clock();

        // 订阅嘀嗒事件
        clock.Tick += (sender, e) => Console.WriteLine("嘀嗒...");

        // 订阅响铃事件
        clock.Alarm += (sender, e) => Console.WriteLine("响铃！时间到了！");

        // 启动闹钟
        clock.Run();

        Console.ReadLine();
    }
}
